home *** CD-ROM | disk | FTP | other *** search
- #ifndef DATABASE_H
- #define DATABASE_H
-
- /* Database constants. */
-
- #define MAXPOLYVERT 8 /* Change and recompile for larger environments. Also */
- #define MAXNUMMODELS 100 /* change MAXPOLYINVIEW to change raster list size. */
- #define MAXNUMOBJECTS 500
-
- #define NOMODEL MAXNUMMODELS + 1
- #define NOOBJECT MAXNUMOBJECTS + 1
- #define NOVERT -1
-
- #define SINGLELINK 0 /* Will not make a link if same object is requested later. */
- #define MULTILINK 1 /* Can have multiple objects generated from same model. */
-
- #define MAXPATHLEN 128
- #define MAXNAMELEN 128
-
- /* Database structures. */
-
- struct Model {
- FLOAT *verticies;
- ULONG *polygons,numvert,numpoly,links;
- UBYTE name[MAXNAMELEN],*edgeshare;
- };
-
- struct Object {
- FLOAT *verticies;
- FLOAT *transvert;
- UBYTE *vertflag,*edgeshare;
- ULONG *polygons,numvert,numpoly;
- };
-
- void opendatabase(UBYTE *);
- void setdatabasepath(UBYTE *);
- ULONG requestmodel(UBYTE *,UBYTE);
- void releasemodel(ULONG);
- ULONG allocateobject(ULONG);
- void deallocateobject(ULONG);
- void closedatabase(void);
-
- #endif
-